#ifndef SPRITE__H
#define SPRITE__H

#include <vector>
#include <string>
#include <iostream>

#include "drawable.h"
#include "frame.h"
#include "gamedata.h"

class Sprite : public Drawable {
public:
  Sprite(const Vector2f& pos, const Vector2f& vel,const Frame* f);
  Sprite(const Sprite& s);

  virtual ~Sprite();
  const Frame* getFrame() const  { return frame; }
  void setFrame(Frame* f) { frame = f; }
  Sprite& operator=(const Sprite&);
  virtual void draw() const;
  virtual void update(unsigned);
  unsigned getPixel(unsigned, unsigned) const;
protected:
  const Gamedata* gameData;
  const Frame* frame;
};
#endif
